package academic.concordia.bankofquebec.bean.bankAccount;

import java.util.List;

import academic.concordia.bankofquebec.entity.BankAccount;
import academic.concordia.bankofquebec.entity.Client;
import academic.concordia.bankofquebec.entity.Transaction;

public interface IBankAccountServices {

	public boolean addAccount(BankAccount newAccount, Client client);
	public Transaction transfer(BankAccount fromAccount, BankAccount toAccount, double amount);
	public Transaction withdrawal(BankAccount account, double amount);
	public Transaction deposit(BankAccount account, double amount);
	public List<BankAccount> getOtherTransferAccounts(Client client, BankAccount currentAccount);
	public List<Transaction> getMonthlyStatement();
	public BankAccount getAccountById(String id);
	public List<BankAccount> getTransferAccounts(Client client);
}
